home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / gaim / sound.h < prev    next >
C/C++ Source or Header  |  2005-10-18  |  3KB  |  117 lines

  1. /**
  2.  * @file sound.h Sound API
  3.  * @ingroup core
  4.  *
  5.  * gaim
  6.  *
  7.  * Gaim is the legal property of its developers, whose names are too numerous
  8.  * to list here.  Please refer to the COPYRIGHT file distributed with this
  9.  * source distribution.
  10.  *
  11.  * This program is free software; you can redistribute it and/or modify
  12.  * it under the terms of the GNU General Public License as published by
  13.  * the Free Software Foundation; either version 2 of the License, or
  14.  * (at your option) any later version.
  15.  *
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  * GNU General Public License for more details.
  20.  *
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  24.  */
  25. #ifndef _GAIM_SOUND_H_
  26. #define _GAIM_SOUND_H_
  27.  
  28. /**************************************************************************/
  29. /** Data Structures                                                       */
  30. /**************************************************************************/
  31.  
  32.  
  33. /**
  34.  * A type of sound.
  35.  */
  36.  
  37. typedef enum _GaimSoundEventID
  38. {
  39.     GAIM_SOUND_BUDDY_ARRIVE = 0, /**< Buddy signs on.                       */
  40.     GAIM_SOUND_BUDDY_LEAVE,      /**< Buddy signs off.                      */
  41.     GAIM_SOUND_RECEIVE,          /**< Receive an IM.                        */
  42.     GAIM_SOUND_FIRST_RECEIVE,    /**< Receive an IM that starts a conv.     */
  43.     GAIM_SOUND_SEND,             /**< Send an IM.                           */
  44.     GAIM_SOUND_CHAT_JOIN,        /**< Someone joins a chat.                 */
  45.     GAIM_SOUND_CHAT_LEAVE,       /**< Someone leaves a chat.                */
  46.     GAIM_SOUND_CHAT_YOU_SAY,     /**< You say something in a chat.          */
  47.     GAIM_SOUND_CHAT_SAY,         /**< Someone else says somthing in a chat. */
  48.     GAIM_SOUND_POUNCE_DEFAULT,   /**< Default sound for a buddy pounce.     */
  49.     GAIM_SOUND_CHAT_NICK,        /**< Someone says your name in a chat.     */
  50.     GAIM_NUM_SOUNDS              /**< Total number of sounds.               */
  51.  
  52. } GaimSoundEventID;
  53.  
  54. typedef struct _GaimSoundUiOps
  55. {
  56.     void (*init)(void);
  57.     void (*shutdown)(void);
  58.     void (*play_file)(const char *filename);
  59.     void (*play_event)(GaimSoundEventID event);
  60.  
  61. } GaimSoundUiOps;
  62.  
  63. #ifdef __cplusplus
  64. extern "C" {
  65. #endif
  66.  
  67. /**************************************************************************/
  68. /** @name Sound API                                                       */
  69. /**************************************************************************/
  70. /*@{*/
  71.  
  72. /**
  73.  * Sets the UI sound operations
  74.  *
  75.  * @param ops The UI sound operations structure.
  76.  */
  77. void gaim_sound_set_ui_ops(GaimSoundUiOps *ops);
  78.  
  79. /**
  80.  * Gets the UI sound operations
  81.  *
  82.  * @return The UI sound operations structure.
  83.  */
  84. GaimSoundUiOps *gaim_sound_get_ui_ops(void);
  85.  
  86. /**
  87.  * Initializes the sound subsystem
  88.  */
  89. void gaim_sound_init(void);
  90.  
  91. /**
  92.  * Shuts down the sound subsystem
  93.  */
  94. void gaim_sound_shutdown(void);
  95.  
  96. /**
  97.  * Plays the specified sound file.
  98.  *
  99.  * @param filename The file to play.
  100.  */
  101. void gaim_sound_play_file(const char *filename);
  102.  
  103. /**
  104.  * Plays the sound associated with the specified event.
  105.  *
  106.  * @param event The event.
  107.  */
  108. void gaim_sound_play_event(GaimSoundEventID event);
  109.  
  110. /*@}*/
  111.  
  112. #ifdef __cplusplus
  113. }
  114. #endif
  115.  
  116. #endif /* _GAIM_SOUND_H_ */
  117.